// Author: wsfuyibing <682805@qq.com>
// Date: 2025-04-28

package kind

// PondKind
// 鱼塘(池塘)类型.
type PondKind int

const (
	_ PondKind = iota

	PondKindRiver
	PondKindLake
	PondKindReservoir
	PondKindLakeMade
	PondKindVillagePond
	PondKindPondMade
)

var (
	pondKindTexts = map[PondKind]string{
		PondKindRiver:       "长江",
		PondKindLake:        "湖泊",
		PondKindReservoir:   "水库",
		PondKindLakeMade:    "人工湖",
		PondKindVillagePond: "乡村池塘",
		PondKindPondMade:    "人工池",
	}
	pondKindUnknown = "未知"
)

func PondKindDict() []map[string]any {
	var res = make([]map[string]any, 0)
	for _, v := range []PondKind{
		PondKindRiver,
		PondKindLake,
		PondKindReservoir,
		PondKindLakeMade,
		PondKindVillagePond,
		PondKindPondMade,
	} {
		res = append(res, map[string]any{
			"Key":   v,
			"Value": v.Text(),
		})
	}
	return res
}

func (o PondKind) Text() string {
	if str, ok := pondKindTexts[o]; ok {
		return str
	}
	return pondKindUnknown
}
